#pragma once

namespace Tmpl {

template <typename T> class Ray;
template <typename T>
class AABB
{
public:
	AABB(){}
	AABB(T Min, T Max){min = Min; max=Max;}

	float CollideWithSphereRay(Ray<T>& ray, float radius);
	float CollideWithSphere(T pos, float radius, T& outPos, T& outNormal);

	T min;
	T max;
};

typedef AABB<Vec2f> AABB2f;
typedef AABB<Vec3f> AABB3f;

} // Namespace